package com.example.networklab.service;

import com.example.networklab.domain.po.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.networklab.domain.req.AddUserReq;
import com.example.networklab.domain.req.EditSelfReq;
import com.example.networklab.domain.req.LoginReq;
import com.example.networklab.domain.req.RegisterBatchReq;
import com.example.networklab.domain.vo.LoginVO;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author dzw
 * @since 2025-02-26
 */
public interface IUserService extends IService<User> {

    LoginVO login(LoginReq loginReq);

    boolean exist(String username);

    void editSelf(EditSelfReq editSelfReq);

    void register(AddUserReq addUserReq);

    void registerBatch(RegisterBatchReq registerBatchReq);

    Integer countStudentsInClass(Integer grade, Integer classNum);
}
